package com.zhao.dota.vo;

import com.zhao.dota.model.DotaMatch;
import com.zhao.dota.model.Hero;
import com.zhao.dota.model.Player;
import lombok.Data;

import java.io.Serializable;
import java.time.YearMonth;
import java.util.List;
import java.util.Map;
import java.util.Set;

@Data
public class Statistical implements Serializable {

    /**
     * 时间
     */
    private YearMonth yearMonth;
    /**
     * 总场次
     */
    private int count;
    /**
     * 天辉胜场
     */
    private int radiantWin;
    /**
     * 夜宴胜场
     */
    private int direWin;
    /**
     * 总出场英雄
     */
    private int heroCount;
    /**
     * 最多出场玩家
     */
    private List<PlayerData<Integer>> maxPlayerShowUP;
    /**
     * 最多出场英雄
     */
    private List<PlayerData<Integer>> maxHeroShowUP;
    /**
     * 最多单场击杀
     */
    private List<PlayerData<Integer>> maxSingleMatchKill;
    /**
     * 最多击杀
     */
    private List<PlayerData<Integer>> maxKill;
    /**
     * 最多单场死亡
     */
    private List<PlayerData<Integer>> maxSingleMatchDeath;
    /**
     * 最多死亡
     */
    private List<PlayerData<Integer>> maxDeath;
    /**
     * 最高胜率
     */
    private List<PlayerData<Double>> maxWinRatio;
    /**
     * 最低胜率
     */
    private List<PlayerData<Double>> minWinRatio;
    /**
     * 最大英雄池
     */
    private List<PlayerData<List<Hero>>> maxSinglePlayerHeroPool;
    /**
     * 最小英雄勺
     */
    private List<PlayerData<List<Hero>>> minSinglePlayerHeroPool;
    /**
     * 最多正补
     */
    private List<PlayerData<Integer>> maxLastHit;
    /**
     * 最多治疗
     */
    private List<PlayerData<Integer>> maxHeath;

    private Map<Integer, TotalsVo> totals;

    private Map<Integer, Player> playerMap;

    private Map<Integer, HeroVo> heroMap;

    private Map<Integer, MatchPlayerVo> matchPlayerMap;

    private Map<Integer, DotaMatch> matchMap;

    private Map<Integer, Set<HeroVo>> playerHeroMap;

}
